The present invention relates to computing, and in particular, to systems and methods for creating context sensitive graph topologies based on multidimensional context information.
Software engineers use model driven approaches in designing and implementing software solutions. For example, the MetaObject Facility standard by Object Management Group, Inc. and the Eclipse Modeling Framework standard by the Eclipse Foundation are used to create design tools and repository frameworks. These standards are graph based and use nodes and associations in conjunction with atomic attributes to describe a set of entities, compose an application or technical domain, or align a set of these domains. In these standards, these artifacts are created and stored, as they are produced, as fully instantiated graphs, stored in a corresponding repository infrastructure. These standards provide a solution for a static and individual set of domain problems to which the standards are directed. However, the persistency of complex graphs and multiple replications of these standards significantly inhibit efficient changes and modifications to the graph.
One conventional approach for solving these issues is creating extremely complex graphs that try to include every possible attribute to attempt to avoid missing any specific subset projection. However, this approach requires significant upfront investment for graph creation by trying to include all known elements into the definition of the model and by excluding, in a specialization step of a subtractive projection, all unnecessary elements from the given graph to produce a presentation of the graph fitting the required structure in the specific context. Further, the elements required in this context may not exist in the upfront created graph and thus need to be added. This addition is usually a very time consuming and complex task requiring changes of the originally delivered objects, which causes conflicts with software delivery and distribution mechanisms used in the context of the given solution and environment (e.g., production landscape at the customer site or in an on-demand environment).
Additionally, different consumers might want to change the original graphs in different and sometimes conflicting ways. Conflicts may occur when the changes are managed by applying them to shared instances (e.g. in hosted or on-demand environments) by different customers. For example, conflicts may occur in systems where the changes need to be kept isolated and invisible between the different consumers. Nevertheless consumers want to reuse the originals in a shared manner, to save time for implementation. Conventional systems create a complete copy of the shared, public original graph (e.g., a replicate) in the private consumer context, which decouples the copy immediately from any future change management of the original. Furthermore, a large part of the original graph might remain unchanged depending on the amount of changes to be applied. This may create a significant number of useless or unused graph elements that increases the number of elements that are processed during reconciliation, original to copy comparison, and original to copy adjustment.
One problem with associated with this approach is that, for isolated customer environments, original graphs delivered by the various platform providers must be kept in sync with locally applied changes and limits the ability to adopt changes. In cloud based environments, customer solutions are run in virtualized runtimes, for efficiency reasons, from the website of the platform providers. Large numbers of customers share the same content and can adapt the content to their individual needs. It is generally desirable for customers to adapt the existing originals based on their provided capabilities, share them with their customers or partners of choice for conducting business and allowing the customers to handle their delivery like the shared content delivered by the platform provider. However, because the original graph is synced among various isolated customers, the platform provider of the original graph cannot make changes to the original platform without changing the locally applied changes. Consequently, there exists a need for improved systems and methods for creating context sensitive based graph topologies. The present invention addresses this problem, and others, by providing systems and methods for creating context sensitive graph topologies based on multidimensional context information.